package com.ctshk.rpc.finance.service;

import com.ctshk.common.dto.Result;
import com.ctshk.common.model.PageResponse;
import com.ctshk.rpc.finance.dto.special.SpecialCollectionDetailDTO;
import com.ctshk.rpc.finance.dto.special.SpecialCollectionListDTO;
import com.ctshk.rpc.finance.req.special.SpecialCollectionAddReq;
import com.ctshk.rpc.finance.req.special.SpecialCollectionApprovalReq;
import com.ctshk.rpc.finance.req.special.SpecialCollectionIdReq;
import com.ctshk.rpc.finance.req.special.SpecialCollectionListReq;

/**
 * <p>
 * 财务特殊收款 服务类
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-04-05
 */
public interface IFinanceSpecialCollectionService  {

    /**
     * 列表
     * @param req
     * @return
     */
    Result<PageResponse<SpecialCollectionListDTO>> list(SpecialCollectionListReq req);

    /**
     * 新增
     * @param req
     * @return
     */
    Result add(SpecialCollectionAddReq req);

    /**
     * 详情
     * @param req
     * @return
     */
    Result<SpecialCollectionDetailDTO> detail(SpecialCollectionIdReq req);

    /**
     * 删除
     * @param req
     * @return
     */
    Result del(SpecialCollectionIdReq req);

    /**
     * 提交审批
     * @param req
     * @return
     */
    Result toApproval(SpecialCollectionIdReq req);

    /**
     * 审批
     * @param req
     * @return
     */
    Result approval(SpecialCollectionApprovalReq req);
}
